import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/index")
public class indexServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // doGet 要做的事情：返回主页（主页就是简单的HTML片段）
        // 返回页面的前提：需要获得 用户名
        // 也就是需要从 HttpSession 中就能拿到。
        // 因为在上个服务器代码中，我们把用户名写作会话的属性，存入到会话中了。
        // 此处的 getSession 的参数 必须为false！因为前面在登录过程中，已经创建过会话了
        //此处是要直接获取之前的会话。
        HttpSession httpSession = req.getSession(false);
        String username = (String) httpSession.getAttribute("username");
        // 除了用户名之外，我们还需要从会话中取出count
        // 注意！我使用的是 包装类 Integer.
        //原因：setAttribute 的 第二个参数是一个 Object 类型，它是一个对象。
        //因此，使用一个普通数据类型int是是不可以的！！
        Integer count =(Integer)httpSession.getAttribute("count");
        count+=1;
        // 在自增之后的值，写回到会话中。
        httpSession.setAttribute("count",count);
        resp.setContentType("text/html; charset=utf8");
        resp.getWriter().write("<h3>欢迎你！"+ username + "这是第"+count+"次访问主页" +"</h3>");
    }
}
